[IA64] HVM domains need to trigger do_softirq for PAL_HALT_LIGHT too
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Thu, 30 Nov 2006 22:57:47 +0000 (15:57 -0700)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Thu, 30 Nov 2006 22:57:47 +0000 (15:57 -0700)
call do_softirq() to enter scheduler when VTI does PAL_HALT_LIGHT,
like xen-ia64-unstable.hg changeset:

12520:bcd2960d6dfd018de58fc0113c37d30edbe802c5

Signed-off-by: Zhang Xin <xing.z.zhang@intel.com>
xen/arch/ia64/xen/fw_emul.c

index f5eb0c7682427fd0961f9937a281a795c2241835..6dc9ea4f8a798b4cdeb290c70d001fb89abe6ed9 100644 (file)
@@ -32,6 +32,7 @@
 #include <asm/uaccess.h>
 #include <xen/console.h>
 #include <xen/hypercall.h>
+#include <xen/softirq.h>
 
 static DEFINE_SPINLOCK(efi_time_services_lock);
 
@@ -611,8 +612,10 @@ xen_pal_emulator(unsigned long index, u64 in1, u64 in2, u64 in3)
            case PAL_HALT_LIGHT:
                if (VMX_DOMAIN(current)) {
                        /* Called by VTI.  */
-                       if (!is_unmasked_irq(current))
+                       if (!is_unmasked_irq(current)) {
                                do_sched_op_compat(SCHEDOP_block, 0);
+                               do_softirq();
+                       }
                        status = PAL_STATUS_SUCCESS;
                }
                break;